/*************************************************************************
    > File Name: network_utils.h
    > Author: Ykk
    > Mail: 3393579535@qq.com 
    > Created Time: 2023年05月20日 星期六 10时47分17秒
 ************************************************************************/

#ifndef NETWORK_UTILS_H
#define NETWORK_UTILS_H

#include "network_utils.c"

#define LISTENQ 1024  // 监听队列长度

void perr_exit(const char *s);

int Accept(int fd, struct sockaddr *sa, socklen_t *salenptr);

int Bind(int fd, const struct sockaddr *sa, socklen_t salen);

int Connect(int fd, const struct sockaddr *sa, socklen_t salen);

int Listen(int fd, int backlog);

int Socket(int family, int type, int protocol);

ssize_t Read(int fd, void *ptr, size_t nbytes);

ssize_t Write(int fd, const void *ptr, size_t nbytes);

int Close(int fd);

ssize_t Readn(int fd, void *vptr, size_t n);

ssize_t Writen(int fd, const void *vptr, size_t n);

static ssize_t my_read(int fd,char *ptr);

ssize_t Readline(int fd, void *vptr, size_t maxlen);

int tcp4bind(short port, const char *IP);

#endif

